//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Workflow.ComponentModel;
using System.Collections;
using System.Collections.Specialized;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel.Compiler;
using Microsoft.Research.ScientificWorkflow;

namespace TridentBasicActivities.Activities
{
    [Name("Parent Activity for If Branches", "If Branch Parent")]
    [Description("Base activity for activities which can be branches for If and Else child activities. Should not be used in a WF directly.")]
    [WorkflowCategory("Control Flow")]
    [HideActivity(true)]
    public partial class IfBranchBase : System.Workflow.Activities.SequenceActivity
    {
        public IfBranchBase()
        {
        }


        public static readonly System.Workflow.ComponentModel.DependencyProperty ConditionProperty =
            System.Workflow.ComponentModel.DependencyProperty.Register("Condition", typeof(bool),
            typeof(IfBranchBase));

        [RequiredInputParam]
        [Name("Condition")]
        [Description("Test Condition which determines if this branch is to be executed.")]
        public virtual bool Condition
        {
            get { return (bool)GetValue(IfBranchBase.ConditionProperty); }
            set { SetValue(IfBranchBase.ConditionProperty, value); }
        }
    }
}
